package org.aplombh.java.awcing.basic.struct.queue;

public class MyQueue {
    private static final int N = 100010;
    int[] queue;
    int head;
    int tail;

    public MyQueue() {
        init();
    }

    public void init() {
        if (queue == null)
            queue = new int[N];

        // tail＜head 表示为空，初始为空
        tail = -1;
        head = 0;
    }

    // 压入队列尾部
    public void push(int x) {
        queue[++tail] = x;
    }

    // 头部弹出
    public int pop() {
        return queue[head++];
    }

    // 查询头节点
    public int query() {
        return queue[head];
    }

    // head＞tail表示为空
    public String empty() {
        return head > tail ? "YES" : "NO";
    }
}